1. Field of the Invention
Embodiments of the invention are in the field of natural language processing and relate more specifically to generation of database models from business rules expressed in a natural language.
2. Description of Related Art
Natural language used by humans to communicate tends to be contextual and imprecise. To automate natural language processing using computerized methods, certain rules are usually imposed to confine the natural language expressions to a well-defined format. There are several applications that can provide an environment where natural language expressions may be expressed in an unambiguous format. One such application is business rules.
When business services or transactions are automated in a computer system, business rules provide business requirements on the automated system. These requirements dictate what the system should and should not do, or who can provide information to the system and who can request information from the system. However, the process of translating business rules expressed in business language into software components using human software developers tends to be error-prone and time-consuming. Automatic generation of software systems from business rules will save time and avoid the problem of errors that would occur in manual translation. One of the important parts of the generation of a software system from business rules is the generation of a database model that represents what information is stored by software components in a database for later retrieval.
There are known methods for generating a relational data model from a business vocabulary that is a set of terms and other symbols such as verbs or prepositions or combinations of these that represent fact types. When taking such a vocabulary as a conceptual schema, a relational data model can be generated following the well documented techniques described in “Information Modeling and Relational Databases From Conceptual Analysis to Logical Design”, pages 412-454, by Terry Halpin, Morgan Kaufmann Publishers, 2001. However, the approach described does not account for business rules that establish what kinds of facts are provided as source information. Therefore, a relational model generated in this way can be impractical when used as a database model because it does not fully distinguish the kinds of information provided as source data from other kinds of information that are derived or computed from source data. Without this distinction, a database model would likely define storage of an impractical amount of redundant information. To generate a database model that defines storage of source information only, a method is needed for discovering from the business rules of a business what types of facts are provided as source information.